package rpcx_media_router_centre

type Media struct {
	MscId                     string `thrift:"MscId,1" db:"MscId" json:"MscId"`
	City                      string `thrift:"City,2" db:"City" json:"City"`
	MscPushStreamStartPort    int32  `thrift:"MscPushStreamStartPort,3" db:"MscPushStreamStartPort" json:"MscPushStreamStartPort"`
	MscPushStreamPortCount    int64  `thrift:"MscPushStreamPortCount,4" db:"MscPushStreamPortCount" json:"MscPushStreamPortCount"`
	MscK8sDnsUrl              string `thrift:"MscK8sDnsUrl,5" db:"MscK8sDnsUrl" json:"MscK8sDnsUrl"`
	Protocols                 string `thrift:"Protocols,6" db:"Protocols" json:"Protocols"`
	IP                        string `thrift:"IP,7" db:"IP" json:"IP"`
	ThriftPort                int32  `thrift:"RpcxPort,8" db:"RpcxPort" json:"RpcxPort"`
	RtspPort                  int32  `thrift:"RtspPort,9" db:"RtspPort" json:"RtspPort"`
	RtmpPort                  int32  `thrift:"RtmpPort,10" db:"RtmpPort" json:"RtmpPort"`
	HLSPort                   int32  `thrift:"HLSPort,11" db:"HLSPort" json:"HLSPort"`
	WebRTCPort                int32  `thrift:"WebRTCPort,12" db:"WebRTCPort" json:"WebRTCPort"`
	HttpPort                  int32  `thrift:"HttpPort,13" db:"HttpPort" json:"HttpPort"`
	DeployTimestamp           int64  `thrift:"DeployTimestamp,14" db:"DeployTimestamp" json:"DeployTimestamp"`
	StartTimestamp            int64  `thrift:"StartTimestamp,15" db:"StartTimestamp" json:"StartTimestamp"`
	UpdateTimestamp           int64  `thrift:"UpdateTimestamp,16" db:"UpdateTimestamp" json:"UpdateTimestamp"`
	Online                    bool   `thrift:"Online,17" db:"Online" json:"Online"`
	MediaBoxId                int64  `thrift:"MediaBoxId,18" db:"MediaBoxId" json:"MediaBoxId"`
	NatMscPushStreamStartIP   string `thrift:"NatMscPushStreamStartIP,19" db:"NatMscPushStreamStartIP" json:"NatMscPushStreamStartIP"`
	NatMscPushStreamStartPort int64  `thrift:"NatMscPushStreamStartPort,20" db:"NatMscPushStreamStartPort" json:"NatMscPushStreamStartPort"`
}

type Stream struct {
	DeviceID        string           `thrift:"DeviceID,1" db:"DeviceID" json:"DeviceID"`
	MediaID         string           `thrift:"MediaID,2" db:"MediaID" json:"MediaID"`
	City            string           `thrift:"City,3" db:"City" json:"City"`
	PlayCount       int64            `thrift:"PlayCount,4" db:"PlayCount" json:"PlayCount"`
	CreateTimestamp int64            `thrift:"CreateTimestamp,5" db:"CreateTimestamp" json:"CreateTimestamp"`
	LastTimestamp   int64            `thrift:"LastTimestamp,6" db:"LastTimestamp" json:"LastTimestamp"`
	Status          bool             `thrift:"Status,7" db:"Status" json:"Status"`
	StreamRouteIds  []*StreamRouteId `thrift:"StreamRouteIds,8" db:"StreamRouteIds" json:"StreamRouteIds"`
}

type StreamRouteId struct {
	StreamID    string `thrift:"StreamID,1" db:"StreamID" json:"StreamID"`
	StreamUrl   string `thrift:"StreamUrl,2" db:"StreamUrl" json:"StreamUrl"`
	SourceID    string `thrift:"SourceID,3" db:"SourceID" json:"SourceID"`
	SourceIP    string `thrift:"SourceIP,4" db:"SourceIP" json:"SourceIP"`
	SourcePort  string `thrift:"SourcePort,5" db:"SourcePort" json:"SourcePort"`
	SourceUrl   string `thrift:"SourceUrl,6" db:"SourceUrl" json:"SourceUrl"`
	ReceiveID   string `thrift:"ReceiveID,7" db:"ReceiveID" json:"ReceiveID"`
	ReceiveIP   string `thrift:"ReceiveIP,8" db:"ReceiveIP" json:"ReceiveIP"`
	ReceivePort string `thrift:"ReceivePort,9" db:"ReceivePort" json:"ReceivePort"`
	ReceiveUrl  string `thrift:"ReceiveUrl,10" db:"ReceiveUrl" json:"ReceiveUrl"`
}
